# -*- coding: utf-8 -*-
"""
Created on Mon Jul 17 07:10:08 2023

@author: skunk69
"""

import json

chinese_name = '中国大五人格问卷（简式版）'
english_name = 'Chinese Big Five Personality Inventory, Brief Version'
abbreviation = 'CBFPI-B'
category = u'人格评估量表'
outline = u"""大五人格模型（外向性，神经质，严谨性，开放性，宜人性）得到了广泛的研究并被证明具有跨语言、跨文化和跨评定者的稳定性，并在维度层面上得到了人格心理学家的普遍接受。
王孟成和戴晓阳等编制了一份适合中国人语言表达习惯、信效度良好，且拥有自主知识产权的人格问卷——《中国大五人格问卷》（Chinese Big Five Personality Inventory, CBF-PI）。该问卷包含了134个条目，测量了23个侧面特质。
然而在实际应用中，有些研究并不是为了对人格特质进行详细的分析，加上完整版量表在具体实施过程中需要较长时间，因此在某些特殊场合或对于某些特殊群体不太适用。为此，王孟成和戴晓阳等在CBF-PI的基础上，挑选了合适的条目组成了一个用于测量大五维度的《中国大五人格问卷（简式版）》（Chinese Big Five Personality Inventory Brief Version, CBF-PI-B）。"""
instruction = u"""下面是一些描述人们性格特点的句子，请根据每个句子与您的性格相符程度，在“完全不符合”，“大部分不符合”，“有点不符合”，“有点符合”，“大部分符合”，“完全符合”中做出选择。"""
items = {1:u'请选择',2:u'请选择',3:u'请选择',4:u'请选择',5:u'请选择',
         6:u'请选择',7:u'请选择',8:u'请选择',9:u'请选择',10:u'请选择'}
reverse_items = [2,7]
scales = ['神经质','严谨性','宜人性','开放性','外向性']
scales_items = [[1,3],[2,4],[5,6],[7,9],[8,10]]
factors = ['大三','大二']
factors_scales = [['神经质','严谨性','宜人性'],['开放性','外向性']]
rating = ['完全不符合','大部分不符合','有点不符合','有点符合','大部分符合','完全符合']
score_rules = list(range(1,7))
implementation = u'实施方法'
measurements = {'reliability':u'信度','validity':u'效度'}
interpretation = u'结果分析方法'
applications = u'应用情况'

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':{
        'instruction':instruction,
        'items':items,
        'reverse_items':reverse_items,
        'scales':scales,
        'scales_items':scales_items,
        'factors':factors,
        'factors_scales':factors_scales,
        'rating':rating,
        'score_rules':score_rules        
                },
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)
